import React, { Component } from 'react'
import { Route, Redirect } from 'react-router-dom'
import { hasToken } from 'utils/storage'

export default class AuthRoute extends Component {
  render() {
    // console.log(this.props)
    const { component: Component, ...rest } = this.props

    return (
      <Route
        {...rest}
        render={(props) => {
          // console.log(props)
          if (hasToken()) {
            // 有token  登录了
            return <Component {...props} />
          } else {
            // 如果没有token，就没有登录，渲染Redirect组件跳转到 /login
            // return <Redirect to="/login"></Redirect>
            props.history.push('/login')
          }
        }}
      ></Route>
    )

    // console.log(this.props)
    // // 把接收到的component属性改成用render进行渲染
    // // ...rest :解构的剩余属性
    // const { component: Component, ...rest } = this.props
    // console.log(Component)
    // // console.log(rest)

    // return (
    //   <Route
    //     {...rest}
    //     render={(props) => {
    //       return <Component {...props} />
    //     }}
    //   ></Route>
    // )
  }
}
